home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 01 - 1984 & 1985 / 01.13 Dec 85.sit / 01.13 Dec 85 / c / pop-up menus 1-13 / megamax popup / mm_popup.c next >
MacBinary  |  1985-10-21  |  6.0 KB  |  [TEXT/EDIT]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Mon Oct 21 13:14:31 1985, modified Mon Oct 21 13:14:31 1985, creator Macintosh Edit, type ASCII, 5514 bytes "mm_popup.c" , at 0x160a 326 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[EDIT]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0a 6d 6d 5f 70 6f 70 | 75 70 2e 63 00 00 00 00 |..mm_pop|up.c....|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 45 44 49 | 54 01 00 00 00 00 00 00 |.TEXTEDI|T.......|
|00000050| 00 00 00 00 00 15 8a 00 | 00 01 46 99 e0 34 f7 99 |........|..F..4..|
|00000060| e0 34 f7 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.4......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 c8 4c 00 00 |........|.....L..|
|00000080| 2f 2a 0d 20 2a 20 50 6f | 70 2d 55 70 20 4d 65 6e |/*. * Po|p-Up Men|
|00000090| 75 20 53 65 6c 65 63 74 | 69 6f 6e 0d 20 2a 20 62 |u Select|ion. * b|
|000000a0| 79 20 4d 69 6b 65 20 53 | 63 68 75 73 74 65 72 0d |y Mike S|chuster.|
|000000b0| 20 2a 0d 20 2a 20 66 75 | 6e 63 74 69 6f 6e 20 50 | *. * fu|nction P|
|000000c0| 6f 70 55 70 53 65 6c 65 | 63 74 28 74 68 65 4d 65 |opUpSele|ct(theMe|
|000000d0| 6e 75 3a 20 4d 65 6e 75 | 48 61 6e 64 6c 65 2c 20 |nu: Menu|Handle, |
|000000e0| 68 69 74 50 74 3a 20 50 | 6f 69 6e 74 29 3a 20 4c |hitPt: P|oint): L|
|000000f0| 6f 6e 67 69 6e 74 0d 20 | 2a 0d 20 2a 20 77 69 74 |ongint. |*. * wit|
|00000100| 68 20 68 69 74 50 74 20 | 65 71 75 61 6c 20 74 6f |h hitPt |equal to|
|00000110| 20 74 68 65 20 70 6f 69 | 6e 74 20 28 69 6e 20 67 | the poi|nt (in g|
|00000120| 6c 6f 62 61 6c 20 63 6f | 6f 72 64 69 6e 61 74 65 |lobal co|ordinate|
|00000130| 73 29 20 77 68 65 72 65 | 20 74 68 65 20 6d 6f 75 |s) where| the mou|
|00000140| 73 65 0d 20 2a 20 62 75 | 74 74 6f 6e 20 77 61 73 |se. * bu|tton was|
|00000150| 20 70 72 65 73 73 65 64 | 2c 20 50 6f 70 55 70 53 | pressed|, PopUpS|
|00000160| 65 6c 65 63 74 20 77 69 | 6c 6c 20 70 6f 70 20 75 |elect wi|ll pop u|
|00000170| 70 20 74 68 65 4d 65 6e | 75 20 61 6e 64 20 72 65 |p theMen|u and re|
|00000180| 74 61 69 6e 20 63 6f 6e | 74 72 6f 6c 0d 20 2a 20 |tain con|trol. * |
|00000190| 62 79 20 74 72 61 63 6b | 69 6e 67 20 74 68 65 20 |by track|ing the |
|000001a0| 6d 6f 75 73 65 20 61 6e | 64 20 68 69 67 68 6c 69 |mouse an|d highli|
|000001b0| 67 68 74 69 6e 67 20 6d | 65 6e 75 20 69 74 65 6d |ghting m|enu item|
|000001c0| 73 20 75 6e 74 69 6c 20 | 74 68 65 20 6d 6f 75 73 |s until |the mous|
|000001d0| 65 20 62 75 74 74 6f 6e | 0d 20 2a 20 69 73 20 72 |e button|. * is r|
|000001e0| 65 6c 65 61 73 65 64 2e | 20 20 50 6f 70 55 70 53 |eleased.| PopUpS|
|000001f0| 65 6c 65 63 74 20 72 65 | 74 75 72 6e 73 20 61 20 |elect re|turns a |
|00000200| 33 32 20 62 69 74 20 69 | 6e 74 65 67 65 72 20 69 |32 bit i|nteger i|
|00000210| 6e 20 61 20 6d 61 6e 6e | 65 72 20 69 64 65 6e 74 |n a mann|er ident|
|00000220| 69 63 61 6c 0d 20 2a 20 | 74 6f 20 74 68 65 20 4d |ical. * |to the M|
|00000230| 65 6e 75 20 4d 61 6e 61 | 67 65 72 20 72 6f 75 74 |enu Mana|ger rout|
|00000240| 69 6e 65 20 4d 65 6e 75 | 53 65 6c 65 63 74 0d 20 |ine Menu|Select. |
|00000250| 2a 0d 20 2a 20 4f 63 74 | 6f 62 65 72 20 31 36 2c |*. * Oct|ober 16,|
|00000260| 20 31 39 38 35 3a 20 56 | 65 72 73 69 6f 6e 20 31 | 1985: V|ersion 1|
|00000270| 2e 30 0d 20 2a 2f 0d 0d | 23 69 6e 63 6c 75 64 65 |.0. */..|#include|
|00000280| 20 3c 6d 65 6d 2e 68 3e | 0d 23 69 6e 63 6c 75 64 | <mem.h>|.#includ|
|00000290| 65 20 3c 72 65 73 2e 68 | 3e 0d 23 69 6e 63 6c 75 |e <res.h|>.#inclu|
|000002a0| 64 65 20 3c 71 64 2e 68 | 3e 0d 23 69 6e 63 6c 75 |de <qd.h|>.#inclu|
|000002b0| 64 65 20 3c 6d 65 6e 75 | 2e 68 3e 0d 23 69 6e 63 |de <menu|.h>.#inc|
|000002c0| 6c 75 64 65 20 3c 6f 73 | 2e 68 3e 0d 0d 23 64 65 |lude <os|.h>..#de|
|000002d0| 66 69 6e 65 20 50 4f 49 | 4e 54 45 52 48 20 28 2a |fine POI|NTERH (*|
|000002e0| 74 68 65 6d 65 6e 75 29 | 2d 3e 6d 65 6e 75 77 69 |themenu)|->menuwi|
|000002f0| 64 74 68 20 2d 20 34 09 | 2f 2a 20 77 69 64 74 68 |dth - 4.|/* width|
|00000300| 20 6f 66 66 73 65 74 20 | 66 72 6f 6d 20 68 69 74 | offset |from hit|
|00000310| 70 74 20 2a 2f 0d 23 64 | 65 66 69 6e 65 20 50 4f |pt */.#d|efine PO|
|00000320| 49 4e 54 45 52 56 20 38 | 09 09 09 09 09 09 09 2f |INTERV 8|......./|
|00000330| 2a 20 68 65 69 67 68 74 | 20 6f 66 66 73 65 74 20 |* height| offset |
|00000340| 66 72 6f 6d 20 68 69 74 | 70 74 20 2a 2f 0d 0d 23 |from hit|pt */..#|
|00000350| 64 65 66 69 6e 65 20 4d | 45 4e 55 56 20 32 30 09 |define M|ENUV 20.|
|00000360| 09 09 09 09 09 09 2f 2a | 20 68 65 69 67 68 74 20 |....../*| height |
|00000370| 6f 66 20 6d 65 6e 75 20 | 62 61 72 20 2a 2f 0d 0d |of menu |bar */..|
|00000380| 23 64 65 66 69 6e 65 20 | 46 52 41 4d 45 48 20 32 |#define |FRAMEH 2|
|00000390| 09 09 09 09 09 09 09 2f | 2a 20 77 69 64 74 68 20 |......./|* width |
|000003a0| 6f 66 20 6d 65 6e 75 20 | 66 72 61 6d 65 20 2a 2f |of menu |frame */|
|000003b0| 0d 23 64 65 66 69 6e 65 | 20 46 52 41 4d 45 56 20 |.#define| FRAMEV |
|000003c0| 32 09 09 09 09 09 09 09 | 2f 2a 20 68 65 69 67 68 |2.......|/* heigh|
|000003d0| 74 20 6f 66 20 6d 65 6e | 75 20 66 72 61 6d 65 20 |t of men|u frame |
|000003e0| 2a 2f 0d 0d 23 64 65 66 | 69 6e 65 20 44 45 4c 41 |*/..#def|ine DELA|
|000003f0| 59 20 32 4c 09 09 09 09 | 09 09 09 2f 2a 20 62 6c |Y 2L....|.../* bl|
|00000400| 69 6e 6b 20 64 65 6c 61 | 79 20 2a 2f 0d 0d 2f 2a |ink dela|y */../*|
|00000410| 20 70 69 6e 20 69 6e 74 | 65 67 65 72 20 69 20 62 | pin int|eger i b|
|00000420| 65 74 77 65 65 6e 20 6c | 6f 77 65 72 20 61 6e 64 |etween l|ower and|
|00000430| 20 75 70 70 65 72 20 62 | 6f 75 6e 64 73 20 6c 20 | upper b|ounds l |
|00000440| 61 6e 64 20 75 20 2a 2f | 0d 73 74 61 74 69 63 20 |and u */|.static |
|00000450| 70 69 6e 28 69 2c 20 6c | 2c 20 75 29 0d 09 69 6e |pin(i, l|, u)..in|
|00000460| 74 20 69 3b 0d 09 69 6e | 74 20 6c 3b 0d 09 69 6e |t i;..in|t l;..in|
|00000470| 74 20 75 3b 0d 09 7b 0d | 09 69 66 20 28 69 20 3c |t u;..{.|.if (i <|
|00000480| 20 6c 29 0d 09 09 72 65 | 74 75 72 6e 20 6c 3b 0d | l)...re|turn l;.|
|00000490| 09 65 6c 73 65 20 69 66 | 20 28 69 20 3e 20 75 29 |.else if| (i > u)|
|000004a0| 0d 09 09 72 65 74 75 72 | 6e 20 75 3b 0d 09 65 6c |...retur|n u;..el|
|000004b0| 73 65 0d 09 09 72 65 74 | 75 72 6e 20 69 3b 0d 09 |se...ret|urn i;..|
|000004c0| 7d 0d 0d 2f 2a 20 69 6e | 76 6f 6b 65 20 74 68 65 |}../* in|voke the|
|000004d0| 20 73 74 61 6e 64 61 72 | 64 20 6d 65 6e 75 20 64 | standar|d menu d|
|000004e0| 65 66 69 6e 69 74 69 6f | 6e 20 70 72 6f 63 65 64 |efinitio|n proced|
|000004f0| 75 72 65 20 2a 2f 0d 73 | 74 61 74 69 63 20 6d 65 |ure */.s|tatic me|
|00000500| 6e 75 64 65 66 70 72 6f | 63 28 6d 65 73 73 61 67 |nudefpro|c(messag|
|00000510| 65 2c 20 74 68 65 6d 65 | 6e 75 2c 20 6d 65 6e 75 |e, theme|nu, menu|
|00000520| 72 65 63 74 2c 20 68 69 | 74 70 74 2c 20 77 68 69 |rect, hi|tpt, whi|
|00000530| 63 68 69 74 65 6d 29 0d | 09 69 6e 74 20 6d 65 73 |chitem).|.int mes|
|00000540| 73 61 67 65 3b 0d 09 6d | 65 6e 75 68 61 6e 64 6c |sage;..m|enuhandl|
|00000550| 65 20 74 68 65 6d 65 6e | 75 3b 0d 09 72 65 63 74 |e themen|u;..rect|
|00000560| 20 2a 6d 65 6e 75 72 65 | 63 74 3b 0d 09 70 6f 69 | *menure|ct;..poi|
|00000570| 6e 74 20 2a 68 69 74 70 | 74 3b 0d 09 69 6e 74 20 |nt *hitp|t;..int |
|00000580| 2a 77 68 69 63 68 69 74 | 65 6d 3b 0d 09 7b 0d 09 |*whichit|em;..{..|
|00000590| 61 73 6d 0d 09 09 7b 0d | 09 09 6d 6f 76 65 2e 77 |asm...{.|..move.w|
|000005a0| 09 6d 65 73 73 61 67 65 | 28 41 36 29 2c 2d 28 41 |.message|(A6),-(A|
|000005b0| 37 29 09 3b 20 70 75 73 | 68 20 66 69 72 73 74 20 |7).; pus|h first |
|000005c0| 70 61 72 61 6d 65 74 65 | 72 0d 09 09 6d 6f 76 65 |paramete|r...move|
|000005d0| 2e 6c 09 74 68 65 6d 65 | 6e 75 28 41 36 29 2c 2d |.l.theme|nu(A6),-|
|000005e0| 28 41 37 29 0d 09 09 6d | 6f 76 65 2e 6c 09 6d 65 |(A7)...m|ove.l.me|
|000005f0| 6e 75 72 65 63 74 28 41 | 36 29 2c 2d 28 41 37 29 |nurect(A|6),-(A7)|
|00000600| 0d 09 09 6d 6f 76 65 2e | 6c 09 68 69 74 70 74 28 |...move.|l.hitpt(|
|00000610| 41 36 29 2c 41 30 0d 09 | 09 6d 6f 76 65 2e 6c 09 |A6),A0..|.move.l.|
|00000620| 28 41 30 29 2c 2d 28 41 | 37 29 0d 09 09 6d 6f 76 |(A0),-(A|7)...mov|
|00000630| 65 2e 6c 09 77 68 69 63 | 68 69 74 65 6d 28 41 36 |e.l.whic|hitem(A6|
|00000640| 29 2c 2d 28 41 37 29 09 | 3b 20 70 75 73 68 20 6c |),-(A7).|; push l|
|00000650| 61 73 74 20 70 61 72 61 | 6d 65 74 65 72 0d 09 09 |ast para|meter...|
|00000660| 6d 6f 76 65 2e 6c 09 74 | 68 65 6d 65 6e 75 28 41 |move.l.t|hemenu(A|
|00000670| 36 29 2c 41 30 09 09 3b | 20 67 65 74 20 6d 65 6e |6),A0..;| get men|
|00000680| 75 20 68 61 6e 64 6c 65 | 0d 09 09 6d 6f 76 65 2e |u handle|...move.|
|00000690| 6c 09 28 41 30 29 2c 41 | 30 09 09 09 09 3b 20 67 |l.(A0),A|0....; g|
|000006a0| 65 74 20 6d 65 6e 75 20 | 70 6f 69 6e 74 65 72 0d |et menu |pointer.|
|000006b0| 09 09 6d 6f 76 65 2e 6c | 09 36 28 41 30 29 2c 41 |..move.l|.6(A0),A|
|000006c0| 30 09 09 09 3b 20 67 65 | 74 20 6d 65 6e 75 20 70 |0...; ge|t menu p|
|000006d0| 72 6f 63 20 68 61 6e 64 | 6c 65 0d 09 09 6d 6f 76 |roc hand|le...mov|
|000006e0| 65 2e 6c 09 28 41 30 29 | 2c 41 30 09 09 09 09 3b |e.l.(A0)|,A0....;|
|000006f0| 20 67 65 74 20 6d 65 6e | 75 20 70 72 6f 63 20 70 | get men|u proc p|
|00000700| 6f 69 6e 74 65 72 0d 09 | 09 6a 73 72 09 09 28 41 |ointer..|.jsr..(A|
|00000710| 30 29 09 09 09 09 3b 20 | 64 69 76 65 20 69 6e 0d |0)....; |dive in.|
|00000720| 09 09 7d 0d 09 7d 0d 0d | 2f 2a 20 70 6f 70 75 70 |..}..}..|/* popup|
|00000730| 20 6d 65 6e 75 20 73 65 | 6c 65 63 74 69 6f 6e 20 | menu se|lection |
|00000740| 72 6f 75 74 69 6e 65 20 | 2a 2f 0d 6c 6f 6e 67 20 |routine |*/.long |
|00000750| 70 6f 70 75 70 73 65 6c | 65 63 74 28 74 68 65 6d |popupsel|ect(them|
|00000760| 65 6e 75 2c 20 68 69 74 | 70 74 29 0d 09 6d 65 6e |enu, hit|pt)..men|
|00000770| 75 68 61 6e 64 6c 65 20 | 74 68 65 6d 65 6e 75 3b |uhandle |themenu;|
|00000780| 0d 09 70 6f 69 6e 74 20 | 2a 68 69 74 70 74 3b 0d |..point |*hitpt;.|
|00000790| 09 7b 0d 09 67 72 61 66 | 70 74 72 20 70 6f 72 74 |.{..graf|ptr port|
|000007a0| 3b 09 09 09 2f 2a 20 63 | 75 72 72 65 6e 74 20 67 |;.../* c|urrent g|
|000007b0| 72 61 66 20 70 6f 72 74 | 20 2a 2f 0d 09 67 72 61 |raf port| */..gra|
|000007c0| 66 70 74 72 20 77 6d 67 | 72 70 6f 72 74 3b 09 09 |fptr wmg|rport;..|
|000007d0| 2f 2a 20 77 69 6e 64 6f | 77 20 6d 61 6e 61 67 65 |/* windo|w manage|
|000007e0| 72 20 70 6f 72 74 20 2a | 2f 0d 09 62 69 74 6d 61 |r port *|/..bitma|
|000007f0| 70 20 2a 2a 74 68 65 6d | 65 6e 75 62 69 74 73 3b |p **them|enubits;|
|00000800| 09 2f 2a 20 68 61 6e 64 | 6c 65 20 74 6f 20 62 69 |./* hand|le to bi|
|00000810| 74 6d 61 70 20 74 6f 20 | 73 61 76 65 20 73 63 72 |tmap to |save scr|
|00000820| 65 65 6e 20 69 6e 20 2a | 2f 0d 09 62 69 74 6d 61 |een in *|/..bitma|
|00000830| 70 20 2a 6d 65 6e 75 62 | 69 74 73 3b 09 09 2f 2a |p *menub|its;../*|
|00000840| 20 70 6f 69 6e 74 65 72 | 20 74 6f 20 22 22 20 2a | pointer| to "" *|
|00000850| 2f 0d 09 69 6e 74 20 72 | 6f 77 62 79 74 65 73 3b |/..int r|owbytes;|
|00000860| 09 09 09 2f 2a 20 72 6f | 77 62 79 74 65 73 20 6f |.../* ro|wbytes o|
|00000870| 66 20 22 22 20 2a 2f 0d | 09 69 6e 74 20 72 6f 77 |f "" */.|.int row|
|00000880| 73 3b 09 09 09 09 2f 2a | 20 72 6f 77 73 20 6f 66 |s;..../*| rows of|
|00000890| 20 22 22 20 2a 2f 0d 09 | 72 65 63 74 20 6d 65 6e | "" */..|rect men|
|000008a0| 75 72 65 63 74 3b 09 09 | 09 2f 2a 20 6d 65 6e 75 |urect;..|./* menu|
|000008b0| 20 72 65 63 74 61 6e 67 | 6c 65 2c 20 69 6e 20 6c | rectang|le, in l|
|000008c0| 6f 63 61 6c 20 63 6f 6f | 72 64 69 6e 61 74 65 73 |ocal coo|rdinates|
|000008d0| 20 2a 2f 0d 09 69 6e 74 | 20 77 68 69 63 68 69 74 | */..int| whichit|
|000008e0| 65 6d 3b 09 09 09 2f 2a | 20 73 65 6c 65 63 74 65 |em;.../*| selecte|
|000008f0| 64 20 69 74 65 6d 20 2a | 2f 0d 09 69 6e 74 20 62 |d item *|/..int b|
|00000900| 6c 69 6e 6b 3b 09 09 09 | 09 2f 2a 20 62 6c 69 6e |link;...|./* blin|
|00000910| 6b 20 63 6f 75 6e 74 20 | 2a 2f 0d 09 6c 6f 6e 67 |k count |*/..long|
|00000920| 20 6e 69 6c 70 74 3b 09 | 09 09 09 2f 2a 20 6e 69 | nilpt;.|.../* ni|
|00000930| 6c 20 70 6f 69 6e 74 20 | 66 6f 72 20 62 6c 69 6e |l point |for blin|
|00000940| 6b 20 2a 2f 0d 0d 09 2f | 2a 20 72 65 74 75 72 6e |k */.../|* return|
|00000950| 20 69 66 20 6d 6f 75 73 | 65 20 69 73 20 6e 6f 74 | if mous|e is not|
|00000960| 20 64 6f 77 6e 20 2a 2f | 0d 09 69 66 20 28 21 77 | down */|..if (!w|
|00000970| 61 69 74 6d 6f 75 73 65 | 75 70 28 29 29 0d 09 09 |aitmouse|up())...|
|00000980| 72 65 74 75 72 6e 20 30 | 4c 3b 0d 0d 09 2f 2a 20 |return 0|L;.../* |
|00000990| 64 65 74 65 72 6d 69 6e | 65 20 74 68 65 20 6d 65 |determin|e the me|
|000009a0| 6e 75 20 72 65 63 74 61 | 6e 67 6c 65 2c 20 69 6e |nu recta|ngle, in|
|000009b0| 20 6c 6f 63 61 6c 20 63 | 6f 6f 72 64 69 6e 61 74 | local c|oordinat|
|000009c0| 65 73 20 2a 2f 0d 09 73 | 65 74 72 65 63 74 28 26 |es */..s|etrect(&|
|000009d0| 6d 65 6e 75 72 65 63 74 | 2c 20 0d 09 09 30 2c 20 |menurect|, ...0, |
|000009e0| 4d 45 4e 55 56 2c 20 0d | 09 09 09 28 2a 74 68 65 |MENUV, .|...(*the|
|000009f0| 6d 65 6e 75 29 2d 3e 6d | 65 6e 75 77 69 64 74 68 |menu)->m|enuwidth|
|00000a00| 2c 20 4d 45 4e 55 56 20 | 2b 20 28 2a 74 68 65 6d |, MENUV |+ (*them|
|00000a10| 65 6e 75 29 2d 3e 6d 65 | 6e 75 68 65 69 67 68 74 |enu)->me|nuheight|
|00000a20| 29 3b 0d 0d 09 2f 2a 20 | 69 6e 73 65 74 20 74 68 |);.../* |inset th|
|00000a30| 65 20 6d 65 6e 75 20 72 | 65 63 74 61 6e 67 6c 65 |e menu r|ectangle|
|00000a40| 20 74 6f 20 69 6e 63 6c | 75 64 65 20 74 68 65 20 | to incl|ude the |
|00000a50| 66 72 61 6d 65 20 61 6e | 64 20 73 68 61 64 6f 77 |frame an|d shadow|
|00000a60| 20 2a 2f 0d 09 69 6e 73 | 65 74 72 65 63 74 28 26 | */..ins|etrect(&|
|00000a70| 6d 65 6e 75 72 65 63 74 | 2c 20 2d 46 52 41 4d 45 |menurect|, -FRAME|
|00000a80| 48 2c 20 2d 46 52 41 4d | 45 56 29 3b 0d 0d 09 2f |H, -FRAM|EV);.../|
|00000a90| 2a 20 61 6c 6c 6f 63 61 | 74 65 20 74 68 65 20 62 |* alloca|te the b|
|00000aa0| 69 74 6d 61 70 20 74 6f | 20 73 61 76 65 20 73 63 |itmap to| save sc|
|00000ab0| 72 65 65 6e 20 69 6e 20 | 2a 2f 0d 09 72 6f 77 62 |reen in |*/..rowb|
|00000ac0| 79 74 65 73 20 3d 20 28 | 28 6d 65 6e 75 72 65 63 |ytes = (|(menurec|
|00000ad0| 74 2e 61 2e 72 69 67 68 | 74 20 2d 20 6d 65 6e 75 |t.a.righ|t - menu|
|00000ae0| 72 65 63 74 2e 61 2e 6c | 65 66 74 20 2b 20 31 35 |rect.a.l|eft + 15|
|00000af0| 29 20 3e 3e 20 34 29 20 | 3c 3c 20 31 3b 0d 09 72 |) >> 4) |<< 1;..r|
|00000b00| 6f 77 73 20 3d 20 6d 65 | 6e 75 72 65 63 74 2e 61 |ows = me|nurect.a|
|00000b10| 2e 62 6f 74 74 6f 6d 20 | 2d 20 6d 65 6e 75 72 65 |.bottom |- menure|
|00000b20| 63 74 2e 61 2e 74 6f 70 | 3b 0d 09 74 68 65 6d 65 |ct.a.top|;..theme|
|00000b30| 6e 75 62 69 74 73 20 3d | 20 28 62 69 74 6d 61 70 |nubits =| (bitmap|
|00000b40| 20 2a 2a 29 20 0d 09 09 | 6e 65 77 68 61 6e 64 6c | **) ...|newhandl|
|00000b50| 65 28 72 6f 77 62 79 74 | 65 73 20 2a 20 72 6f 77 |e(rowbyt|es * row|
|00000b60| 73 20 2b 20 28 6c 6f 6e | 67 29 20 73 69 7a 65 6f |s + (lon|g) sizeo|
|00000b70| 66 28 62 69 74 6d 61 70 | 29 29 3b 0d 0d 09 2f 2a |f(bitmap|));.../*|
|00000b80| 20 72 65 74 75 72 6e 20 | 69 66 20 6e 6f 20 73 70 | return |if no sp|
|00000b90| 61 63 65 20 2a 2f 0d 09 | 69 66 20 28 21 74 68 65 |ace */..|if (!the|
|00000ba0| 6d 65 6e 75 62 69 74 73 | 29 0d 09 09 72 65 74 75 |menubits|)...retu|
|00000bb0| 72 6e 20 30 4c 3b 0d 0d | 09 2f 2a 20 6c 6f 63 6b |rn 0L;..|./* lock|
|00000bc0| 20 64 6f 77 6e 20 74 68 | 65 20 62 69 74 6d 61 70 | down th|e bitmap|
|00000bd0| 20 2a 2f 0d 09 68 6c 6f | 63 6b 28 74 68 65 6d 65 | */..hlo|ck(theme|
|00000be0| 6e 75 62 69 74 73 29 3b | 0d 09 6d 65 6e 75 62 69 |nubits);|..menubi|
|00000bf0| 74 73 20 3d 20 2a 74 68 | 65 6d 65 6e 75 62 69 74 |ts = *th|emenubit|
|00000c00| 73 3b 0d 0d 09 2f 2a 20 | 69 6e 69 74 69 61 6c 69 |s;.../* |initiali|
|00000c10| 7a 65 20 74 68 65 20 62 | 69 74 6d 61 70 20 2a 2f |ze the b|itmap */|
|00000c20| 0d 09 6d 65 6e 75 62 69 | 74 73 2d 3e 62 61 73 65 |..menubi|ts->base|
|00000c30| 61 64 64 72 20 3d 20 28 | 63 68 61 72 20 2a 29 20 |addr = (|char *) |
|00000c40| 28 6d 65 6e 75 62 69 74 | 73 20 2b 20 31 29 3b 0d |(menubit|s + 1);.|
|00000c50| 09 6d 65 6e 75 62 69 74 | 73 2d 3e 72 6f 77 62 79 |.menubit|s->rowby|
|00000c60| 74 65 73 20 3d 20 72 6f | 77 62 79 74 65 73 3b 0d |tes = ro|wbytes;.|
|00000c70| 09 6d 65 6e 75 62 69 74 | 73 2d 3e 62 6f 75 6e 64 |.menubit|s->bound|
|00000c80| 73 20 3d 20 6d 65 6e 75 | 72 65 63 74 3b 0d 0d 09 |s = menu|rect;...|
|00000c90| 2f 2a 20 73 61 76 65 20 | 74 68 65 20 63 75 72 72 |/* save |the curr|
|00000ca0| 65 6e 74 20 67 72 61 66 | 20 70 6f 72 74 2c 20 75 |ent graf| port, u|
|00000cb0| 73 65 20 74 68 65 20 77 | 69 6e 64 6f 77 20 6d 61 |se the w|indow ma|
|00000cc0| 6e 61 67 65 72 20 70 6f | 72 74 20 2a 2f 0d 09 67 |nager po|rt */..g|
|00000cd0| 65 74 70 6f 72 74 28 26 | 70 6f 72 74 29 3b 0d 09 |etport(&|port);..|
|00000ce0| 67 65 74 77 6d 67 72 70 | 6f 72 74 28 26 77 6d 67 |getwmgrp|ort(&wmg|
|00000cf0| 72 70 6f 72 74 29 3b 0d | 09 73 65 74 70 6f 72 74 |rport);.|.setport|
|00000d00| 28 77 6d 67 72 70 6f 72 | 74 29 3b 0d 0d 09 2f 2a |(wmgrpor|t);.../*|
|00000d10| 20 73 65 74 20 6f 72 69 | 67 69 6e 20 73 6f 20 74 | set ori|gin so t|
|00000d20| 68 61 74 20 6d 65 6e 75 | 20 64 65 66 69 6e 69 74 |hat menu| definit|
|00000d30| 69 6f 6e 20 70 72 6f 63 | 65 64 75 72 65 20 64 72 |ion proc|edure dr|
|00000d40| 61 77 73 20 6d 65 6e 75 | 20 75 6e 64 65 72 20 68 |aws menu| under h|
|00000d50| 69 74 70 74 20 2a 2f 0d | 09 2f 2a 20 70 69 6e 20 |itpt */.|./* pin |
|00000d60| 73 6f 20 74 68 61 74 20 | 77 68 6f 6c 65 20 6d 65 |so that |whole me|
|00000d70| 6e 75 20 69 73 20 76 69 | 73 61 62 6c 65 20 2a 2f |nu is vi|sable */|
|00000d80| 0d 09 73 65 74 6f 72 69 | 67 69 6e 0d 09 09 28 70 |..setori|gin...(p|
|00000d90| 69 6e 28 50 4f 49 4e 54 | 45 52 48 20 2d 20 68 69 |in(POINT|ERH - hi|
|00000da0| 74 70 74 2d 3e 61 2e 68 | 2c 20 0d 09 09 09 28 2a |tpt->a.h|, ....(*|
|00000db0| 74 68 65 6d 65 6e 75 29 | 2d 3e 6d 65 6e 75 77 69 |themenu)|->menuwi|
|00000dc0| 64 74 68 20 2d 20 77 6d | 67 72 70 6f 72 74 2d 3e |dth - wm|grport->|
|00000dd0| 70 6f 72 74 72 65 63 74 | 2e 61 2e 72 69 67 68 74 |portrect|.a.right|
|00000de0| 20 2b 20 0d 09 09 09 46 | 52 41 4d 45 48 2c 20 31 | + ....F|RAMEH, 1|
|00000df0| 20 2d 20 46 52 41 4d 45 | 48 29 2c 20 0d 09 09 20 | - FRAME|H), ... |
|00000e00| 70 69 6e 28 4d 45 4e 55 | 56 20 2b 20 50 4f 49 4e |pin(MENU|V + POIN|
|00000e10| 54 45 52 56 20 2d 20 68 | 69 74 70 74 2d 3e 61 2e |TERV - h|itpt->a.|
|00000e20| 76 2c 20 0d 09 09 20 09 | 4d 45 4e 55 56 20 2b 20 |v, ... .|MENUV + |
|00000e30| 28 2a 74 68 65 6d 65 6e | 75 29 2d 3e 6d 65 6e 75 |(*themen|u)->menu|
|00000e40| 68 65 69 67 68 74 20 2d | 20 77 6d 67 72 70 6f 72 |height -| wmgrpor|
|00000e50| 74 2d 3e 70 6f 72 74 72 | 65 63 74 2e 61 2e 62 6f |t->portr|ect.a.bo|
|00000e60| 74 74 6f 6d 20 2b 20 0d | 09 09 09 46 52 41 4d 45 |ttom + .|...FRAME|
|00000e70| 56 2c 20 31 20 2d 20 46 | 52 41 4d 45 56 29 29 3b |V, 1 - F|RAMEV));|
|00000e80| 0d 0d 09 2f 2a 20 63 6c | 69 70 20 74 6f 20 73 61 |.../* cl|ip to sa|
|00000e90| 76 65 20 74 68 65 20 73 | 63 72 65 65 6e 20 2a 2f |ve the s|creen */|
|00000ea0| 0d 09 63 6c 69 70 72 65 | 63 74 28 26 77 6d 67 72 |..clipre|ct(&wmgr|
|00000eb0| 70 6f 72 74 2d 3e 70 6f | 72 74 72 65 63 74 29 3b |port->po|rtrect);|
|00000ec0| 0d 0d 09 2f 2a 20 73 61 | 76 65 20 74 68 65 20 73 |.../* sa|ve the s|
|00000ed0| 63 72 65 65 6e 20 2a 2f | 0d 09 63 6f 70 79 62 69 |creen */|..copybi|
|00000ee0| 74 73 28 26 77 6d 67 72 | 70 6f 72 74 2d 3e 70 6f |ts(&wmgr|port->po|
|00000ef0| 72 74 62 69 74 73 2c 20 | 6d 65 6e 75 62 69 74 73 |rtbits, |menubits|
|00000f00| 2c 20 0d 09 09 26 6d 65 | 6e 75 62 69 74 73 2d 3e |, ...&me|nubits->|
|00000f10| 62 6f 75 6e 64 73 2c 20 | 26 6d 65 6e 75 62 69 74 |bounds, |&menubit|
|00000f20| 73 2d 3e 62 6f 75 6e 64 | 73 2c 20 30 2c 20 30 4c |s->bound|s, 0, 0L|
|00000f30| 29 3b 0d 0d 09 2f 2a 20 | 65 72 61 73 65 20 61 6e |);.../* |erase an|
|00000f40| 64 20 66 72 61 6d 65 20 | 74 68 65 20 6d 65 6e 75 |d frame |the menu|
|00000f50| 20 72 65 63 74 61 6e 67 | 6c 65 20 2a 2f 0d 09 69 | rectang|le */..i|
|00000f60| 6e 73 65 74 72 65 63 74 | 28 26 6d 65 6e 75 72 65 |nsetrect|(&menure|
|00000f70| 63 74 2c 20 46 52 41 4d | 45 48 2c 20 46 52 41 4d |ct, FRAM|EH, FRAM|
|00000f80| 45 56 29 3b 0d 09 65 72 | 61 73 65 72 65 63 74 28 |EV);..er|aserect(|
|00000f90| 26 6d 65 6e 75 72 65 63 | 74 29 3b 0d 09 69 6e 73 |&menurec|t);..ins|
|00000fa0| 65 74 72 65 63 74 28 26 | 6d 65 6e 75 72 65 63 74 |etrect(&|menurect|
|00000fb0| 2c 20 2d 31 2c 20 2d 31 | 29 3b 0d 09 66 72 61 6d |, -1, -1|);..fram|
|00000fc0| 65 72 65 63 74 28 26 6d | 65 6e 75 72 65 63 74 29 |erect(&m|enurect)|
|00000fd0| 3b 0d 09 69 6e 73 65 74 | 72 65 63 74 28 26 6d 65 |;..inset|rect(&me|
|00000fe0| 6e 75 72 65 63 74 2c 20 | 31 2c 20 31 29 3b 0d 0d |nurect, |1, 1);..|
|00000ff0| 09 2f 2a 20 61 64 64 20 | 73 68 61 64 6f 77 20 2a |./* add |shadow *|
|00001000| 2f 0d 09 70 65 6e 6e 6f | 72 6d 61 6c 28 29 3b 0d |/..penno|rmal();.|
|00001010| 09 6d 6f 76 65 74 6f 28 | 6d 65 6e 75 72 65 63 74 |.moveto(|menurect|
|00001020| 2e 61 2e 6c 65 66 74 20 | 2b 20 31 2c 20 6d 65 6e |.a.left |+ 1, men|
|00001030| 75 72 65 63 74 2e 61 2e | 62 6f 74 74 6f 6d 20 2b |urect.a.|bottom +|
|00001040| 20 31 29 3b 0d 09 6c 69 | 6e 65 28 28 2a 74 68 65 | 1);..li|ne((*the|
|00001050| 6d 65 6e 75 29 2d 3e 6d | 65 6e 75 77 69 64 74 68 |menu)->m|enuwidth|
|00001060| 2c 20 30 29 3b 0d 09 6c | 69 6e 65 28 30 2c 20 2d |, 0);..l|ine(0, -|
|00001070| 20 28 2a 74 68 65 6d 65 | 6e 75 29 2d 3e 6d 65 6e | (*theme|nu)->men|
|00001080| 75 68 65 69 67 68 74 29 | 3b 0d 0d 09 2f 2a 20 63 |uheight)|;.../* c|
|00001090| 6c 69 70 20 66 6f 72 20 | 74 68 65 20 73 74 61 6e |lip for |the stan|
|000010a0| 64 61 72 64 20 6d 65 6e | 75 20 64 65 66 69 6e 69 |dard men|u defini|
|000010b0| 74 69 6f 6e 20 70 72 6f | 63 65 64 75 72 65 20 2a |tion pro|cedure *|
|000010c0| 2f 0d 09 63 6c 69 70 72 | 65 63 74 28 26 6d 65 6e |/..clipr|ect(&men|
|000010d0| 75 72 65 63 74 29 3b 0d | 0d 09 2f 2a 20 70 72 65 |urect);.|../* pre|
|000010e0| 70 61 72 65 20 74 6f 20 | 63 61 6c 6c 20 74 68 65 |pare to |call the|
|000010f0| 20 73 74 61 6e 64 61 72 | 64 20 6d 65 6e 75 20 64 | standar|d menu d|
|00001100| 65 66 69 6e 69 74 69 6f | 6e 20 70 72 6f 63 65 64 |efinitio|n proced|
|00001110| 75 72 65 20 2a 2f 0d 09 | 6c 6f 61 64 72 65 73 6f |ure */..|loadreso|
|00001120| 75 72 63 65 28 28 2a 74 | 68 65 6d 65 6e 75 29 2d |urce((*t|hemenu)-|
|00001130| 3e 6d 65 6e 75 70 72 6f | 63 29 3b 0d 09 68 6c 6f |>menupro|c);..hlo|
|00001140| 63 6b 28 28 2a 74 68 65 | 6d 65 6e 75 29 2d 3e 6d |ck((*the|menu)->m|
|00001150| 65 6e 75 70 72 6f 63 29 | 3b 0d 0d 09 2f 2a 20 64 |enuproc)|;.../* d|
|00001160| 72 61 77 20 74 68 65 20 | 6d 65 6e 75 20 2a 2f 0d |raw the |menu */.|
|00001170| 09 77 68 69 63 68 69 74 | 65 6d 20 3d 20 30 3b 0d |.whichit|em = 0;.|
|00001180| 09 73 65 74 70 74 28 68 | 69 74 70 74 2c 20 30 2c |.setpt(h|itpt, 0,|
|00001190| 20 30 29 3b 0d 09 6d 65 | 6e 75 64 65 66 70 72 6f | 0);..me|nudefpro|
|000011a0| 63 28 6d 64 72 61 77 6d | 73 67 2c 20 74 68 65 6d |c(mdrawm|sg, them|
|000011b0| 65 6e 75 2c 20 26 6d 65 | 6e 75 72 65 63 74 2c 20 |enu, &me|nurect, |
|000011c0| 68 69 74 70 74 2c 20 26 | 77 68 69 63 68 69 74 65 |hitpt, &|whichite|
|000011d0| 6d 29 3b 0d 0d 09 2f 2a | 20 74 72 61 63 6b 20 74 |m);.../*| track t|
|000011e0| 68 65 20 6d 6f 75 73 65 | 20 75 6e 74 69 6c 20 74 |he mouse| until t|
|000011f0| 68 65 20 62 75 74 74 6f | 6e 20 69 73 20 72 65 6c |he butto|n is rel|
|00001200| 65 61 73 65 64 20 2a 2f | 0d 09 64 6f 0d 09 09 7b |eased */|..do...{|
|00001210| 0d 09 09 6d 65 6e 75 64 | 65 66 70 72 6f 63 28 6d |...menud|efproc(m|
|00001220| 63 68 6f 6f 73 65 6d 73 | 67 2c 20 74 68 65 6d 65 |choosems|g, theme|
|00001230| 6e 75 2c 20 26 6d 65 6e | 75 72 65 63 74 2c 20 68 |nu, &men|urect, h|
|00001240| 69 74 70 74 2c 20 26 77 | 68 69 63 68 69 74 65 6d |itpt, &w|hichitem|
|00001250| 29 3b 0d 09 09 67 65 74 | 6d 6f 75 73 65 28 68 69 |);...get|mouse(hi|
|00001260| 74 70 74 29 3b 0d 09 09 | 7d 0d 09 77 68 69 6c 65 |tpt);...|}..while|
|00001270| 20 28 77 61 69 74 6d 6f | 75 73 65 75 70 28 29 29 | (waitmo|useup())|
|00001280| 3b 0d 0d 09 2f 2a 20 62 | 6c 69 6e 6b 20 74 68 65 |;.../* b|link the|
|00001290| 20 69 74 65 6d 20 2a 2f | 0d 09 69 66 20 28 77 68 | item */|..if (wh|
|000012a0| 69 63 68 69 74 65 6d 29 | 0d 09 09 7b 0d 09 09 66 |ichitem)|...{...f|
|000012b0| 6f 72 20 28 62 6c 69 6e | 6b 20 3d 20 67 65 74 73 |or (blin|k = gets|
|000012c0| 79 73 70 70 74 72 28 29 | 2d 3e 6d 69 73 63 20 3e |yspptr()|->misc >|
|000012d0| 3e 20 32 20 26 20 30 78 | 33 3b 20 62 6c 69 6e 6b |> 2 & 0x|3; blink|
|000012e0| 3b 20 62 6c 69 6e 6b 2d | 2d 29 0d 09 09 09 7b 0d |; blink-|-)....{.|
|000012f0| 09 09 09 6e 69 6c 70 74 | 20 3d 20 30 4c 3b 0d 09 |...nilpt| = 0L;..|
|00001300| 09 09 6d 65 6e 75 64 65 | 66 70 72 6f 63 28 6d 63 |..menude|fproc(mc|
|00001310| 68 6f 6f 73 65 6d 73 67 | 2c 20 74 68 65 6d 65 6e |hoosemsg|, themen|
|00001320| 75 2c 20 26 6d 65 6e 75 | 72 65 63 74 2c 20 26 6e |u, &menu|rect, &n|
|00001330| 69 6c 70 74 2c 20 26 77 | 68 69 63 68 69 74 65 6d |ilpt, &w|hichitem|
|00001340| 29 3b 0d 09 09 09 64 65 | 6c 61 79 28 44 45 4c 41 |);....de|lay(DELA|
|00001350| 59 2c 20 26 6e 69 6c 70 | 74 29 3b 0d 09 09 09 6d |Y, &nilp|t);....m|
|00001360| 65 6e 75 64 65 66 70 72 | 6f 63 28 6d 63 68 6f 6f |enudefpr|oc(mchoo|
|00001370| 73 65 6d 73 67 2c 20 74 | 68 65 6d 65 6e 75 2c 20 |semsg, t|hemenu, |
|00001380| 26 6d 65 6e 75 72 65 63 | 74 2c 20 68 69 74 70 74 |&menurec|t, hitpt|
|00001390| 2c 20 26 77 68 69 63 68 | 69 74 65 6d 29 3b 0d 09 |, &which|item);..|
|000013a0| 09 09 64 65 6c 61 79 28 | 44 45 4c 41 59 2c 20 26 |..delay(|DELAY, &|
|000013b0| 6e 69 6c 70 74 29 3b 0d | 09 09 09 7d 0d 09 09 7d |nilpt);.|...}...}|
|000013c0| 0d 0d 09 2f 2a 20 64 6f | 6e 65 20 63 61 6c 6c 69 |.../* do|ne calli|
|000013d0| 6e 67 20 74 68 65 20 73 | 74 61 6e 64 61 72 64 20 |ng the s|tandard |
|000013e0| 6d 65 6e 75 20 64 65 66 | 69 6e 69 74 69 6f 6e 20 |menu def|inition |
|000013f0| 70 72 6f 63 65 64 75 72 | 65 20 2a 2f 0d 09 68 75 |procedur|e */..hu|
|00001400| 6e 6c 6f 63 6b 28 28 2a | 74 68 65 6d 65 6e 75 29 |nlock((*|themenu)|
|00001410| 2d 3e 6d 65 6e 75 70 72 | 6f 63 29 3b 0d 0d 09 2f |->menupr|oc);.../|
|00001420| 2a 20 63 6c 69 70 20 74 | 6f 20 72 65 73 74 6f 72 |* clip t|o restor|
|00001430| 65 20 73 63 72 65 65 6e | 20 2a 2f 0d 09 63 6c 69 |e screen| */..cli|
|00001440| 70 72 65 63 74 28 26 77 | 6d 67 72 70 6f 72 74 2d |prect(&w|mgrport-|
|00001450| 3e 70 6f 72 74 72 65 63 | 74 29 3b 0d 0d 09 2f 2a |>portrec|t);.../*|
|00001460| 20 72 65 73 74 6f 72 65 | 20 74 68 65 20 73 63 72 | restore| the scr|
|00001470| 65 65 6e 20 61 6e 64 20 | 63 6c 65 61 6e 20 75 70 |een and |clean up|
|00001480| 20 2a 2f 0d 09 63 6f 70 | 79 62 69 74 73 28 6d 65 | */..cop|ybits(me|
|00001490| 6e 75 62 69 74 73 2c 20 | 26 77 6d 67 72 70 6f 72 |nubits, |&wmgrpor|
|000014a0| 74 2d 3e 70 6f 72 74 62 | 69 74 73 2c 20 0d 09 09 |t->portb|its, ...|
|000014b0| 26 6d 65 6e 75 62 69 74 | 73 2d 3e 62 6f 75 6e 64 |&menubit|s->bound|
|000014c0| 73 2c 20 26 6d 65 6e 75 | 62 69 74 73 2d 3e 62 6f |s, &menu|bits->bo|
|000014d0| 75 6e 64 73 2c 20 30 2c | 20 30 4c 29 3b 0d 09 68 |unds, 0,| 0L);..h|
|000014e0| 75 6e 6c 6f 63 6b 28 74 | 68 65 6d 65 6e 75 62 69 |unlock(t|hemenubi|
|000014f0| 74 73 29 3b 0d 09 64 69 | 73 70 6f 73 68 61 6e 64 |ts);..di|sposhand|
|00001500| 6c 65 28 74 68 65 6d 65 | 6e 75 62 69 74 73 29 3b |le(theme|nubits);|
|00001510| 0d 0d 09 2f 2a 20 72 65 | 73 74 6f 72 65 20 74 68 |.../* re|store th|
|00001520| 65 20 77 69 6e 64 6f 77 | 20 6d 61 6e 61 67 65 72 |e window| manager|
|00001530| 20 70 6f 72 74 20 6f 72 | 69 67 69 6e 20 61 6e 64 | port or|igin and|
|00001540| 20 74 68 65 20 63 75 72 | 72 65 6e 74 20 67 72 61 | the cur|rent gra|
|00001550| 66 20 70 6f 72 74 20 2a | 2f 0d 09 73 65 74 6f 72 |f port *|/..setor|
|00001560| 69 67 69 6e 28 30 2c 20 | 30 29 3b 0d 09 63 6c 69 |igin(0, |0);..cli|
|00001570| 70 72 65 63 74 28 26 77 | 6d 67 72 70 6f 72 74 2d |prect(&w|mgrport-|
|00001580| 3e 70 6f 72 74 72 65 63 | 74 29 3b 0d 09 73 65 74 |>portrec|t);..set|
|00001590| 70 6f 72 74 28 70 6f 72 | 74 29 3b 0d 0d 09 2f 2a |port(por|t);.../*|
|000015a0| 20 72 65 74 75 72 6e 20 | 74 68 65 20 73 74 61 6e | return |the stan|
|000015b0| 64 61 72 64 20 72 65 73 | 75 6c 74 20 2a 2f 0d 09 |dard res|ult */..|
|000015c0| 72 65 74 75 72 6e 20 77 | 68 69 63 68 69 74 65 6d |return w|hichitem|
|000015d0| 20 3f 20 28 28 6c 6f 6e | 67 29 20 28 2a 74 68 65 | ? ((lon|g) (*the|
|000015e0| 6d 65 6e 75 29 2d 3e 6d | 65 6e 75 69 64 20 3c 3c |menu)->m|enuid <<|
|000015f0| 20 31 36 29 20 2b 20 77 | 68 69 63 68 69 74 65 6d | 16) + w|hichitem|
|00001600| 20 3a 20 30 4c 3b 0d 09 | 7d 0d 00 00 00 00 00 00 | : 0L;..|}.......|
|00001610| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001620| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001630| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001640| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001650| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001660| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001670| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001680| 00 00 01 00 00 00 01 08 | 00 00 00 08 00 00 00 3e |........|.......>|
|00001690| 3e 28 00 30 20 53 3c 28 | 00 28 20 53 3d 68 00 2a |>(.0 S<(|.( S=h.*|
|000016a0| ff f6 20 53 3d 68 00 36 | ff f4 48 6e ff f8 2f 0b |.. S=h.6|..Hn../.|
|000016b0| 0a 6d 6d 5f 70 6f 70 75 | 70 2e 63 6f 02 00 00 00 |.mm_popu|p.co....|
|000016c0| 54 45 58 54 45 44 49 54 | 01 00 00 00 00 00 00 00 |TEXTEDIT|........|
|000016d0| 00 00 54 45 58 54 45 44 | 49 54 01 00 00 00 00 00 |..TEXTED|IT......|
|000016e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000016f0| 00 00 99 b1 ac 7f 00 00 | 15 8a 00 00 01 46 50 8f |........|.....FP.|
|00001700| 48 80 3d 40 ff ea 10 2e | 00 11 48 80 b0 6e ff ea |H.=@....|..H..n..|
|00001710| 67 00 00 0c 48 6e ff f8 | 4e ba 39 b6 58 8f 30 06 |g...Hn..|N.9.X.0.|
|00001720| d1 6e ff f8 30 06 d1 6e | ff fc 52 45 60 00 ff 94 |.n..0..n|..RE`...|
|00001730| 3a 2e 00 0c 30 05 b0 6e | 00 0e 6e 00 00 1a 10 2e |:...0..n|..n.....|
|00001740| 00 11 48 80 3f 00 3f 05 | 2f 0b 4e ba fb b8 50 8f |..H.?.?.|/.N...P.|
|00001750| 52 45 60 00 ff e0 3a 1f | 3c 1f 3e 1f 26 5f 4e 5e |RE`...:.|<.>.&_N^|
|00001760| 4e 75 4e 56 00 00 48 e7 | 10 08 28 78 02 b6 2f 0b |NuNV..H.|..(x../.|
|00001770| 3f 07 3e 2e 00 08 26 6e | 00 0a 2f 0a 24 6c ff 68 |?.>...&n|../.$l.h|
|00001780| 00 00 00 04 02 09 04 03 | 00 00 01 00 00 00 01 08 |........|........|
|00001790| 00 00 00 08 00 00 00 3e | 00 00 cc 1c 01 7a 00 00 |.......>|.....z..|
|000017a0| 00 1c 00 32 00 00 45 4f | 50 54 00 00 00 0a 03 ee |...2..EO|PT......|
|000017b0| 00 00 00 00 00 00 00 01 | 33 84 0b 65 64 69 74 6f |........|3..edito|
|000017c0| 72 20 69 6e 66 6f 00 00 | 00 00 00 00 00 00 00 00 |r info..|........|
|000017d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+